#include "scale.h"


//--------------------- Constructeurs et destructeur -------------------

/****************************************************************************************
 * Constructeur par défault                                                             *
 ****************************************************************************************/
Scale::Scale()
{
    _sx = _sy = _sz = 0.0;
}

/****************************************************************************************
 * Constructeur à trois paramètres                                                      *
 * @param tx : composante en x de la mise à l'échelle                                   *
 * @param ty : composante en y de la mise à l'échelle                                   *
 * @param tz : composante en z de la mise à l'échelle                                   *
 ****************************************************************************************/
Scale::Scale(GLfloat sx, GLfloat sy, GLfloat sz)
    : _sx(sx), _sy(sy), _sz(sz)
{

}

/****************************************************************************************
 * Destructeur                                                                          *
 ****************************************************************************************/
Scale::~Scale()
{

}
//----------------------------------------------------------------------
//--------------------- Méthodes ---------------------------------------

/****************************************************************************************
 * On utilise la transformation de mise à l'échelle                                     *
 ****************************************************************************************/
void Scale::utiliser()
{
    glScalef(_sx, _sy, _sz);
}

//----------------------------------------------------------------------
//--------------------- Accesseurs -------------------------------------

/****************************************************************************************
 * Mutateur sur la composante en x de la mise à l'échelle                               *
 * @param sx : la nouvelle composante en x de la mise à l'échelle                       *
 ****************************************************************************************/
void Scale::setSx(GLfloat sx)
{
    _sx = sx;
}

/****************************************************************************************
 * Mutateur sur la composante en y de la mise à l'échelle                               *
 * @param sy : la nouvelle composante en y de la mise à l'échelle                       *
 ****************************************************************************************/
void Scale::setSy(GLfloat sy)
{
    _sy = sy;
}

/****************************************************************************************
 * Mutateur sur la composante en z de la mise à l'échelle                               *
 * @param sz : la nouvelle composante en z de la mise à l'échelle                       *
 ****************************************************************************************/
void Scale::setSz(GLfloat sz)
{
    _sz = sz;
}

